import java.awt.Color;
import java.awt.image.BufferedImage;
import java.util.ArrayList;

public class Lista {
	private ArrayList<Highlight> lista;
	
	public Lista(){
		lista = new ArrayList<Highlight>();
	}
	
	public void addElement(Highlight f){
		lista.add(f);
	}
	
	public Highlight getElement(int i){
		return lista.get(i);
	}
	
	public int size(){
		return lista.size();
	}
	
	public void reduceList(float r, BufferedImage b){
		for(int i=0; i<lista.size(); i++){
			int x = (int)lista.get(i).x;
			int y = (int)lista.get(i).y;
			for(int j=0; j<lista.size(); j++){
				lista.get(j).distance = (float)Math.sqrt((lista.get(j).x-x)*(lista.get(j).x-x) + (lista.get(j).y-y)*(lista.get(j).y-y));
			}
			for(int j=0; j<lista.size(); j++){
				if((lista.get(j).distance<r)&&(lista.get(j).distance!=0)) { 
					b.setRGB((int)lista.get(j).x, (int)lista.get(j).y, Color.white.getRGB());
					lista.remove(j);
					if(j>0) j--;
				}
			}
		}
	}
	
	public int howMany(int typ){
		int red=0, white=0;
		for(int i=0; i<lista.size(); i++){
			if(lista.get(i).type == 0) white++;
			else  red ++;
		}
		if(typ==0) return white;
		else return red;
	}
}
